Date.const_set "MONTHNAMES", [nil] + %w(Januar Februar März April Mai Juni Juli August September Oktober November Dezember)
Date.const_set "ABBR_MONTHNAMES", [nil] + %w(Jan Feb Mär Apr Mai Jun Jul Aug Sep Okt Nov Dez)
Date.const_set "DAYNAMES", %w(Sonntag Montag Dienstag Mittwoch Donnerstag Freitag Samstag)
Date.const_set "ABBR_DAYNAMES", %w(So Mo Di Mi Do Fr Sa)

class Time
  alias :strftime_nolocale :strftime

  def strftime(format)
    format = format.dup
    format.gsub!(/%a/, Date::ABBR_DAYNAMES[self.wday])
    format.gsub!(/%A/, Date::DAYNAMES[self.wday])
    format.gsub!(/%b/, Date::ABBR_MONTHNAMES[self.mon])
    format.gsub!(/%B/, Date::MONTHNAMES[self.mon])
    self.strftime_nolocale(format)
  end
end